import request from 'src/axios'

/**
 * @description 登录
 * @param { Object } data 登录参数
 * @returns Promise
 */
export function login(data: object) {
  return request({
    url: '/login',
    method: 'post',
    params: data
  })
}

/**
 * @description 退出
 * @returns Promise
 */
export function logout() {
  return request({
    url: '/logout',
    method: 'post'
  })
}

/**
 * @description 查询所有可用菜单
 * @param { Object } params 查询参数
 * @returns Promise
 */
export const listMenu = (params?: object) => {
  return request.get('/home/menu', { params })
}

/**
 * @description 查询当前登录用户菜单
 * @returns Promise
 */
export function listUserMenu() {
  return request({
    url: '/system/menu/user/menus',
    method: 'get'
  })
}

/**
 * @description 查询当前登录用户权限
 * @returns Promise
 */
export function listPermission() {
  return request({
    url: '/system/menu/user/permissions',
    method: 'get'
  })
}

/**
 * @description 查询所有字典
 * @returns Promise
 */
export function listDict() {
  return request({
    url: '/system/dict/map',
    method: 'get'
  })
}

/**
 * @description 查询系统信息
 * @returns Promise
 */
export function getSystemInfo() {
  return request({
    url: '/monitor/server/info',
    method: 'get'
  })
}
